# 三元表达式
# 变量 = 条件成立返回值 if 条件 else 条件不成立返回值
x=1
y=2
res = x if x>y else y
print(res)

# 列表生成式
l=["aaa_aa","bbb_aa","ccc"]
#  [条件成立返回值（可以是函数，表达式，只要有返回值） for 循环变量 in 可迭代对象 条件]
new_l = [i for i in l if i.endswith("aa")]
print(new_l)
# 例 把所有字符转换为大写
new_l = [i.upper() for i in l]
print(new_l)
# 例 把后缀_aa去掉
new_l = [i.replace("_aa","") for i in l]
print(new_l)

# 字典生产式
keys=["aaa","bbb","ccc"]
d1={key:1 for key in keys}
print(d1)
dic={('aaa', 1), ('bbb',1), ('ccc', 1)}
d2={k:v for k,v in dic if k!="ccc"}
print(d2)

# 集合生成式
keys=["aaa","bbb","ccc"]
s={k for k in keys}
print(s,type(s))

# 生成器生成式
keys=["aaa","bbb","ccc"]
g=(k for k in keys)
print(g)
print(g.__next__())
print(g.__next__())
print(g.__next__())
